Array.from([1, , 2, , 3], (n) => n || 0)//后面这个箭头函数的意思是若传入的是n为false则执行后面的
//如果左边为真，则右边不执行
console.log(undefined || 0);
console.log(2 && undefined);//左边为真，执行右边
console.log(undefined && 4);//左边为假，不执行右边
console.log('----');
console.log([].slice(0));//[]

console.log([].copyWithin.call({ length: 5, 3: 2 }, 0, 3));// 将3号位复制到0号位 意思就是把属性3的2复制到0号位
//{ '0': 2, '3': 2, length: 5 }

const contains = (() =>
    Array.prototype.includes
        ? (arr, value) => arr.includes(value)
        : (arr, value) => arr.some(el => el === value))()//这个意思是先执行看符合前面还是后面
// 参数直接传给符合的那个函数里面
console.log(contains(['foo', 'bar'], 'baz')); // => false

let map = new Map([
    [1, 'one'],
    [2, 'two'],
    [3, 'three'],
]);//map形式Map(3) { 1 => 'one', 2 => 'two', 3 => 'three' }



